{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "b6e8d739",
   "metadata": {},
   "source": [
    "# Exercise | Implementing One-Class Classifiers and Autoencoders"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6a677e8f",
   "metadata": {},
   "source": [
    "You are given a Python notebook that performs anomaly detection on audio data from a fan using various machine learning models. Your task is to fill in the blanks in the code to complete the functionality of the models and evaluate their performance on the testing set."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2d4e1147",
   "metadata": {},
   "source": [
    "# 🚀️Goals\n",
    "- To learn how to implement outlier detection techniques. \n",
    "- To gain practical experience with these techniques by applying them to a real-world dataset.\n",
    "- To develop an intuition for how to choose appropriate methods and hyperparameters for outlier detection and anomaly detection tasks."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3666c17c-b420-435d-89c2-0fb5791795bc",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "print(os.curdir)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c24e70a8",
   "metadata": {},
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "# standard import \n",
    "import os\n",
    "import glob\n",
    "import sys\n",
    "import numpy as np\n",
    "from tqdm import tqdm\n",
    "\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn import linear_model\n",
    "from sklearn.neural_network import MLPRegressor\n",
    "from sklearn.neighbors import LocalOutlierFactor\n",
    "from sklearn import metrics\n",
    "\n",
    "from utils import * \n",
    "\n",
    "dir_path = 'dev_data_fan/fan'"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d21cdca0",
   "metadata": {},
   "source": [
    "# Dataset:\n",
    "The dataset consists of audio signals collected from fans under different operating conditions. The data is divided into training and testing sets, each containing several .wav files. The goal is to train machine learning models to detect anomalies in the testing set based on the features in the training set."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d8996b3d",
   "metadata": {},
   "source": [
    "# Expected output:\n",
    "The expected output is the area under the ROC curve (AUC) for each model on the testing set. The AUC measures the performance of the models in distinguishing between normal and anomalous samples, with a value of 0.5 indicating random guessing and a value of 1 indicating perfect separation. The AUC should be as high as possible, with a threshold for anomaly detection determined by the application requirements."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "97650fb3",
   "metadata": {},
   "source": [
    "# 1) Extract the audio signals and convert the audio signals to features "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "facc46a6",
   "metadata": {},
   "source": [
    "Before applying outlier detection techniques and autoencoders, it's important to prepare the data properly. In this exercise, you will be working with a dataset of audio files in the 'train' directory. To start, you will need to extract all the .wav files found in this directory. Once you have a list of audio files, you will need to extract features from the audio data.\n",
    "\n",
    "Rather than using the raw audio signal, we recommend extracting MEL-spectrogram features. These features are easier to work with and carry more information about the audio data. You can use a library like librosa to extract MEL-spectrogram features from each audio file. Once you have extracted the features, you can use them as input to the outlier detection and autoencoder models."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0d4a01f5",
   "metadata": {},
   "outputs": [],
   "source": [
    "# TODO: Generate a list of training files using the `file_list_generator` function from `utils.py`\n",
    "files_training = ---\n",
    "# TODO: Generate a list of test files and their corresponding labels using the `test_file_list_generator` function from `utils.py`\n",
    "files_testing , labels_testing = ---"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "079c01e7",
   "metadata": {},
   "outputs": [],
   "source": [
    "# TODO: Convert the list of training files into a vector array using the `list_to_vector_array` function from `utils.py`\n",
    "train_data = ---"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2f972e1b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# TODO: Initialize a StandardScaler object and fit it on the training data and tranform \n",
    "scaler = ---\n",
    "train_data_scalled = ---"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "00acfec6",
   "metadata": {},
   "source": [
    "# Anomaly detection using One Class Classifier "
   ]
  },
  {
   "attachments": {
    "one_class_svm.png": {
     "image/png": "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aaepUQg004cOHaq66cwEwu3vV155BZ+FudUoxKmnntqnTx/VDX9jShw6qF6JdKI+/qZEEzzIFoK20I4LGFTvsoGB/oZ6LSsDYD61DLelTj/99MMOOwyqU7Fz586rrrqqffv2auwXX3zx61//uk2bNjAT1IXo3bu3GqXE9t5776leFZjgmmuusXsikRtuuKFRo0aqG14/8cQT7a+JfdEZZ5wxePBgjELzHbP617/+paZE3HrrrRiSvr/hUbsnFi1atBg7dqzdEwtMg7Y1OpS/77vvPjUcccEFF3Tu3Fl1p/b3lVdeica3vQKxmDVrFo5+1BV3+BuHEbEPSaQbdfM35ZfgQXoQjIB2YpCgCphxpP1di3BbCk3PmJerBZyEUdBSz549DzzwwAceeGDZsmVYkZEjR3br1k19UInNaU+rwGfdLfLp06djGtWNhji61fxVoLdjx44Y9eijj6L7q6++UlMiHn74YQxJ39/q6rsT+fn59DOwI444AkcP6FD+fuKJJ9RwBD7brl071Z3a3+eff75acndg7Jdffomx8HfXrl1jH5JIN+rgb8osQYJ8IBgK7dbAQDUxgxjob//Cbalf/vKXPXr0ePvtt7Gc7sCoDz/8EH565pln1JSIo48+mvztXBhWgemT+btPnz7QP32RutC+dOlSTOZuf2MmGJK+v8eMGWP3xALt4IsuusjuiQW1v+vm7yuuuKJly5bx22rnzp0YC387G0cizcDWS9/flE2CBAlACAC0i4MBVclMIf6uRbgtNWfOnOLi4rVr16ped7zzzjtQnXN/FsyHdnmd/f3HP/4REnXfju6Euv7t/klYv3796uNvNLX322+/XZXXv998800s2EMPPYTu1P5Gq12de3DCvZovvvgiuv/973+rURTi7zpE+v6mPBIMKOMLgYR2uulQxcwI4u9ahNvfO3bs6N27d8eOHe+5554lS5Y8+eST8OhVV12lRu2zzz5onT/77LOPPvpop06d2rdvX2d/Y0poslevXvPmzUOD+/HHHx8/fvyMGTPU2EsvvbSwsPDGG29ctGjR2Wefnez+cxU1+hvbvGHDhkOHDsWSz507t02bNlhs9/3nyfz9t7/9Dd97++23r1ix4oMPPsAQWs3jjjuudevWWOxXXnnlmWeeuemmm84//3w1Svxdh0jT35RBAgCleCHwUAEwGqqe9Uf8XYuA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"
    }
   },
   "cell_type": "markdown",
   "id": "b56538be",
   "metadata": {},
   "source": [
    "![one_class_svm.png](attachment:one_class_svm.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a045a23d",
   "metadata": {},
   "source": [
    "One Class SVM is an unsupervised learning algorithm used for outlier detection. It learns a decision function that is able to tell whether a new sample is similar to the ones used for training or whether it is an outlier. It does this by finding the smallest possible sphere that can enclose all the training data, while maximizing the margin between the sphere and the training data. Any new data points that fall outside the sphere are considered to be outliers."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "20a5230c",
   "metadata": {},
   "outputs": [],
   "source": [
    "clf = linear_model.SGDOneClassSVM(random_state=42,verbose=0)\n",
    "clf.fit(train_data_scalled)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7836b03a",
   "metadata": {},
   "outputs": [],
   "source": [
    "y_pred = [0. for k in files_testing]\n",
    "for file_idx, file_path in tqdm(enumerate(files_testing), total=len(files_testing)):\n",
    "    # TODO: convert the test file into a vector array using the `file_to_vector_array` function from `utils.py`\n",
    "    data = ---\n",
    "    # TODO: transform the test data using the StandardScaler object\n",
    "    data = ---\n",
    "    # TODO: predict the errors using the trained OneClassSVM model\n",
    "    errors = ---\n",
    "    # TODO: compute the mean error for the test file\n",
    "    y_pred[file_idx] = ---"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "63de8a66",
   "metadata": {},
   "outputs": [],
   "source": [
    "# TODO: compute the ROC AUC score\n",
    "auc = metrics.----(labels_testing, 1-np.array(y_pred)) \n",
    "\n",
    "print(\"AUC : {}\".format(auc))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "86b8b429",
   "metadata": {},
   "source": [
    "# Anomaly detection using Local Outlier Factor  "
   ]
  },
  {
   "attachments": {
    "lof.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "id": "36f138e4",
   "metadata": {},
   "source": [
    "![lof.png](attachment:lof.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5d14a768",
   "metadata": {},
   "source": [
    "Here you will be using the Local Outlier Factor (LOF) algorithm, which is a type of unsupervised outlier detection. The LOF algorithm works by comparing the density of each data point to the density of its neighbors. Points with a significantly lower density than their neighbors are considered to be outliers."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6b363b4a",
   "metadata": {},
   "outputs": [],
   "source": [
    "clf = LocalOutlierFactor(n_jobs=-1,novelty=True,contamination=0.01)\n",
    "clf.fit(train_data_scalled[::5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ff953c3c",
   "metadata": {},
   "outputs": [],
   "source": [
    "y_pred = [0. for k in files_testing]\n",
    "for file_idx, file_path in tqdm(enumerate(files_testing), total=len(files_testing)):\n",
    "    # TODO: convert the test file into a vector array using the `file_to_vector_array` function from `utils.py`\n",
    "    data = ---\n",
    "    # TODO: transform the test data using the StandardScaler object\n",
    "    data = ---\n",
    "    # TODO: predict the errors using the trained LocalOutlierFactor model\n",
    "    errors = ---\n",
    "    # TODO: compute the mean error for the test file\n",
    "    y_pred[file_idx] = ---"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "98fc2cef",
   "metadata": {},
   "outputs": [],
   "source": [
    "# TODO: compute the ROC AUC score\n",
    "auc = metrics.---(labels_testing, 1-np.array(y_pred)) \n",
    "\n",
    "print(\"AUC : {}\".format(auc))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "775dcb95",
   "metadata": {},
   "source": [
    "# Anomaly detection using Auto-Encoder  "
   ]
  },
  {
   "attachments": {
    "auto-encoder.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "id": "f54aeacc",
   "metadata": {},
   "source": [
    "![auto-encoder.png](attachment:auto-encoder.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d5439724",
   "metadata": {},
   "source": [
    "Autoencoders, on the other hand, are a type of neural network that are commonly used for unsupervised learning. An autoencoder is composed of an encoder and a decoder. The encoder takes in data and compresses it into a lower-dimensional representation, while the decoder takes the compressed representation and tries to reconstruct the original data. In this exercise, you will be using a Multilayer Perceptron (MLP) autoencoder, which is a type of autoencoder that uses multiple layers of neurons."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e71bdf71",
   "metadata": {},
   "source": [
    "Define an architecture for your auto-encoder"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "93549a6d",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Shape of input and latent variable\n",
    "n_input = 320\n",
    "\n",
    "# Encoder structure\n",
    "n_encoder1 = 128\n",
    "n_encoder2 = 64\n",
    "n_encoder3 = 32\n",
    "n_encoder4 = 16\n",
    "\n",
    "n_latent = 8\n",
    "\n",
    "# Decoder structure\n",
    "n_decoder4 = 16\n",
    "n_decoder3 = 32\n",
    "n_decoder2 = 64\n",
    "n_decoder1 = 128"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6fadce05",
   "metadata": {},
   "outputs": [],
   "source": [
    "reg = MLPRegressor(hidden_layer_sizes = (n_encoder1, n_encoder2,n_encoder3,n_encoder4, n_latent, n_decoder4,n_decoder3,n_decoder2, n_decoder1), \n",
    "                   activation = 'relu', \n",
    "                   solver = 'adam', \n",
    "                   learning_rate_init = 0.001, \n",
    "                   batch_size = 256,\n",
    "                   max_iter = 10, \n",
    "                   tol = 0.0000001, \n",
    "                   verbose = True)\n",
    "reg.fit(train_data_scalled, train_data_scalled)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b5fc9c7b",
   "metadata": {},
   "outputs": [],
   "source": [
    "y_pred = [0. for k in files_testing]\n",
    "for file_idx, file_path in tqdm(enumerate(files_testing), total=len(files_testing)):\n",
    "    # TODO: convert the test file into a vector array using the `file_to_vector_array` function from `utils.py`\n",
    "    data = ---\n",
    "    # TODO: transform the test data using the StandardScaler object\n",
    "    data = ---\n",
    "    # TODO: predict the reconstruction errors using the trained auto-encoder model\n",
    "    errors = ---\n",
    "    # TODO: compute the mean error for the test file\n",
    "    y_pred[file_idx] = ---"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "40540cd3",
   "metadata": {},
   "outputs": [],
   "source": [
    "auc = metrics.---(labels_testing, np.array(y_pred))\n",
    "print(\"AUC : {}\".format(auc))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "082d423e-66d4-4090-b213-fadbed7e9f60",
   "metadata": {},
   "source": [
    "## ANOMALY DETECTION ISOLATION FOREST"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "967bbf88-5793-4845-abee-8a6a93d0bde8",
   "metadata": {},
   "source": [
    "The Isolation Forest algorithm is an efficient anomaly detection method particularly suited for high-dimensional datasets. It operates by isolating anomalies rather than modeling normal instances. Random subsamples of data are used to construct decision trees, where anomalies are typically isolated closer to the root of the tree, resulting in shorter path lengths. The length of these paths forms the basis for computing an anomaly score—shorter paths suggest higher anomaly likelihood. This method benefits from its scalability and efficiency, using an ensemble of trees to enhance detection accuracy and reduce variance, making it highly effective for large datasets.\n",
    "\n",
    "step1 ) Random Subsampling: The Isolation Forest algorithm begins by randomly selecting a subset of the data. Unlike other methods that attempt to build a profile of normal instances, Isolation Forest focuses on isolating anomalous points.\n",
    "Step2) Tree Construction: For each subsample, the algorithm constructs a tree. It recursively selects a feature and a split value between the minimum and maximum values of the selected feature. This splitting continues until each instance is isolated, which means that each instance ends up at a terminal node of the tree.\n",
    "step3) Path Length: The fundamental idea is that anomalies are \"easier\" to isolate compared to normal points. Anomalies will, on average, have shorter paths in the tree structure because fewer conditions are required to separate them from the rest of the data. The path length from the root node to the terminating node is a measure of normality and our decision function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f5ac4bed-c0dc-46c8-9cf5-d8c260793e47",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.ensemble import IsolationForest\n",
    "\n",
    "# Initialize the Isolation Forest model\n",
    "iso_forest = IsolationForest(n_jobs=-1, contamination=0.01)\n",
    "# Fit the model on a subset of the scaled training data\n",
    "iso_forest.fit(train_data_scalled[::5])\n",
    "\n",
    "# Placeholder for predictions\n",
    "y_pred = [0. for _ in files_testing]\n",
    "\n",
    "# Iterate through each file in the test dataset\n",
    "for file_idx, file_path in tqdm(enumerate(files_testing), total=len(files_testing)):\n",
    "    # TODO: Convert the test file into a vector array using the `file_to_vector_array` function from `utils.py`\n",
    "    data = --\n",
    "    # TODO: Transform the test data using the StandardScaler object\n",
    "    data = --\n",
    "    # TODO: Predict the anomaly scores using the trained Isolation Forest model\n",
    "    scores = --\n",
    "    # TODO: Compute the mean anomaly score for the test file\n",
    "    y_pred[file_idx] = np.mean(scores)\n",
    "\n",
    "# Note: In Isolation Forest, the decision_function returns scores such that\n",
    "# the lower the score, the more anomalous the observation is.\n",
    "\n",
    "# TODO: compute the ROC AUC score\n",
    "auc = metrics.----(labels_testing, 1-np.array(y_pred)) \n",
    "\n",
    "print(\"AUC : {}\".format(auc))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
